# 文件写入主要说明文件乱码问题以及添加异常信息

# 打开一个文件,a代表追加写,告诉操作系统使用utf-8创建文件，就不会乱码了
try:
    f = open(r"read.txt","a",encoding="utf-8")
    # 写英文文件是可以写入的 并且不会乱码
    s = "hello world\n"
    f.write(s)
    #主要用来写一些列表集合
    f.writelines(["周文生\n","葛宏志\n"])
    # 此时写入中文是乱码的,python程序默认执行的时候用的是unicode编码
    # windows 操作系统默认的编码是 GBK，Linux 操作系统默认的编码是 UTF-8。当我们 用 open()时，调用的是操作系统打开的文件，默认的编码是 GBK。
    # 所以只要我们把当前的程序文件的编码改成gbk就可以了,这样我们写入的就是gbk的了，linux系统就不存在这个问题
    # 或者打开文件的时候用utf-8也不会乱码
    f.write("我是韩仁通\n")
except BaseException as e:
    print(e)
finally:
    f.close()

# with写入文件的应用,with写入文件后不需要单独关闭流，完全由操作系统控制
with open(r"b.txt","a",encoding="utf-8") as f:
    f.writelines("成功了")
